<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    

<script>
// 工厂模式创建对象
// 原料 -> 加工 -> 出厂
function factory(n,s){// 工厂函数
    var obj = {};// 创建一个空对象（原料）
    obj.name = n;// 加工，添加属性
    obj.sex = s;// 加工，添加属性
    obj.say = function (){// 加工，添加方法
        console.log( 'hi' );
    }
    return obj;// 出厂
}
var obj1 = factory('张三','男');
var obj2 = factory('李四','女');
var obj3 = factory('王五','女');

console.log( obj1.constructor );// Object
console.log( obj2.constructor );// Object
console.log( obj3.constructor );// Object
console.log( obj1.say === obj2.say );// false

// 问题1：如果需要大批量创建对象，需要写大量重复的代码--已解决

// 问题2：无法区分对象的类型（分类：人类和狗类）
// 问题3：相同类型对象的相同方法，重复创建了（代码重复，占用更多内存）

</script>
</body>
</html>